Document Nexus with Multi-Cluster Replication for self-hosted#4906
Conversation
Documents how Nexus Operation completion callbacks behave when a Global Namespace fails over between clusters, and the configuration required for worker-target endpoints: endpoint registry parity, replicated Namespaces, auto-forwarding, and a frontend httpPort plus advertised httpAddress on every cluster. Reorders "Build and use Nexus Services" above the new section. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📖 Docs PR preview links
|
- Capitalize Temporal proper nouns (Cluster, Namespace, Workflow, Worker, Task Queue, Endpoint, Nexus Operation) to match sibling multi-cluster docs. - Replace em-dashes with plain punctuation; drop "e.g."/"via" per style guide. - Add that caller and handler Namespaces can be active on different Clusters (per-Namespace active cluster), so cross-Cluster completion forwarding is a steady state, handled automatically once httpAddress is advertised. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Move the target-type scope into a note that also mentions external-target Endpoints (--target-url) for completeness. - Vale pass: fix Worker casing, use contractions, split the long intro sentence, and use "automatic forwarding" instead of "auto-forwarding". Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…tion - Split auto-forwarding into its two required parts: the static dcRedirectionPolicy (defaults to no redirection) and the per-Namespace system.enableNamespaceNotActiveAutoForwarding dynamic config. - Trim the httpAddress step to the Nexus-specific delta (httpPort + httpAddress) and defer base clusterMetadata/rpcAddress setup to the Multi-Cluster Replication page it links to. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ion entry - Link dcRedirectionPolicy to references/configuration, its canonical entry. - Clarify that the per-Cluster clusterInformation entry already contains the replication fields (enabled, rpcName, rpcAddress, initialFailoverVersion) and that httpAddress is added to it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Step 3 repeated the httpPort/httpAddress config already shown in Enable Nexus. Reference that section and keep only the multi-cluster delta: set them on every Cluster, plus the operator cluster upsert caveat. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Compress the 'What to expect on failover' list from five verbose bullets to four, folding the async-replication caveat into the permanent-loss point. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
It conflated the dynamic cluster-connection flow with the static-config instruction; httpAddress is set in static clusterInformation. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Explain system.enableNamespaceNotActiveAutoForwarding (per-Namespace, defaults to true) and note it has the opposite default of dcRedirectionPolicy. - Redraw the failover sequence so replication (not a failover-time handoff) carries state to Cluster B; remove the misleading A->B arrow. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Remove semicolon from a sequence-diagram Note (mermaid treats ; as a statement separator, causing a render-time parse error). - Reword enableNamespaceNotActiveAutoForwarding as 'make sure it isn't turned off' since it defaults to true. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Drop the literal quotes and wrap the replication note across two lines so the Note-over box doesn't overflow. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
| default via `system.enableNamespaceNotActiveAutoForwarding` (per-Namespace | ||
| dynamic config). | ||
|
|
||
| Optionally, set the server's |
There was a problem hiding this comment.
I wasn't sure if this should be optional or recommended?
There was a problem hiding this comment.
Not sure either TBH and not sure this information should go here, /self-hosted-guide/multi-cluster-replication seems like a better fit.
There was a problem hiding this comment.
@bergundy I'll leave remove it and open a separate PR for /self-hosted-guide/multi-cluster-replication
Replace the manual jsdom global-copy loop with a one-line 'import global-jsdom/register'. (jsdom-global is unmaintained and doesn't expose the globals mermaid's box syntax needs; global-jsdom does.) Swap the direct jsdom devDependency for global-jsdom. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
| // Set up a browser-like DOM before loading mermaid. mermaid.parse() uses DOM | ||
| // APIs for some diagram syntaxes (for example a sequence diagram `box`) and | ||
| // otherwise fails headless with "window is not defined". | ||
| import 'global-jsdom/register'; |
There was a problem hiding this comment.
This was needed to make the mermaid chart above work; the box is crucial to convey the topology clearly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
bergundy
left a comment
There was a problem hiding this comment.
Approved, but please fix the experimental note before merging.
| title: Self-hosted Temporal Nexus | ||
| sidebar_label: Temporal Nexus | ||
| description: Use Nexus in your self-hosted Temporal Service. | ||
| description: Use Nexus in your self-hosted Temporal Service, including across Global (multi-region) Namespaces. |
There was a problem hiding this comment.
I'm hesitant add this here. Multi-cluster support is experimental.
| tags: | ||
| - Self hosting | ||
| - enable-nexus | ||
| - global-namespace |
There was a problem hiding this comment.
I think this terminology is outdated and we call this multi-cluster-replication now.
|
|
||
| ::: | ||
|
|
||
| ## Global Namespaces (multi-region failover) |
There was a problem hiding this comment.
Make a note that this is experimental and the mechanism here is likely to change.
| default via `system.enableNamespaceNotActiveAutoForwarding` (per-Namespace | ||
| dynamic config). | ||
|
|
||
| Optionally, set the server's |
There was a problem hiding this comment.
Not sure either TBH and not sure this information should go here, /self-hosted-guide/multi-cluster-replication seems like a better fit.
…step Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
WISOTT